gtk: Stop handling GDK_DESTROY differently from GDK_DELETE
authorMatthias Clasen <mclasen@redhat.com>
Sat, 15 Feb 2020 16:11:13 +0000 (11:11 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 21 Feb 2020 05:40:52 +0000 (00:40 -0500)
We don't have child windows anymore, so there is no difference.

gtk/gtkmain.c

index 7bb9eae7b6981a8db551d28cac90420c43dd3056..f492b3b2b3a1861e9fc9cea6674995784b62972e 100644 (file)
@@ -1841,6 +1841,7 @@ gtk_main_do_event (GdkEvent *event)
       break;
 
     case GDK_DELETE:
+    case GDK_DESTROY:
       g_object_ref (target_widget);
       if (!gtk_window_group_get_current_grab (window_group) ||
           GTK_WIDGET (gtk_widget_get_root (gtk_window_group_get_current_grab (window_group))) == target_widget)
@@ -1852,20 +1853,6 @@ gtk_main_do_event (GdkEvent *event)
       g_object_unref (target_widget);
       break;
 
-    case GDK_DESTROY:
-      /* Unexpected GDK_DESTROY from the outside, ignore for
-       * child windows, handle like a GDK_DELETE for toplevels
-       */
-      if (!gtk_widget_get_parent (target_widget))
-        {
-          g_object_ref (target_widget);
-          if (!gtk_widget_event (target_widget, event) &&
-              gtk_widget_get_realized (target_widget))
-            gtk_widget_destroy (target_widget);
-          g_object_unref (target_widget);
-        }
-      break;
-
     case GDK_FOCUS_CHANGE:
     case GDK_GRAB_BROKEN:
       if (!_gtk_widget_captured_event (target_widget, event))